1. Field
Embodiments of the invention relate to a priority scheme for transmitting blocks of data.
2. Description of the Related Art
Disaster recovery systems address two types of failures, a sudden catastrophic failure at a single point in time or data loss over a period of time. In the second type of gradual disaster, updates to volumes on data storage may be lost. To assist in recovery of data updates, a copy of data may be provided at a remote location. Such dual or shadow copies are typically made as the application system is writing new data to a primary storage device. International Business Machines Corporation (IBM), the assignee of the subject patent application, provides several remote mirroring systems, including, for example: an asynchronous Peer-to-Peer Remote Copy (PPRC®) service.
The asynchronous PPRC® service provides a technique for recovering data updates that occur between a last, safe backup and a system failure. Such data shadowing systems can also provide an additional remote copy for non-recovery purposes, such as local access at a remote site.
With the asynchronous PPRC® service, a primary storage subsystem maintains a copy of data on a secondary storage subsystem. Changes to data at the primary storage subsystem are copied to the secondary storage subsystem as an application updates the data at the primary storage subsystem. Thus, the copy may be used whether there are gradual and/or intermittent failures.
Volumes in the primary and secondary storage devices are consistent when all writes have been transferred in their logical order, i.e., all dependent writes transferred first before the writes dependent thereon. In a banking example, this may mean that a deposit is written to the secondary volume before a withdrawal. A consistency group may be described as a collection of related volumes that are kept in a consistent state. A consistency transaction set may be described as a collection of updates to the primary volumes such that dependent writes are secured in a consistent manner. Consistency groups maintain data consistency across volumes. For instance, if a failure occurs, the deposit will be written to the secondary volume before the withdrawal. Thus, when data is recovered from the secondary volumes, the recovered data will be consistent with the data at the primary storage subsystem.
With the asynchronous PPRC® server, if the network bandwidth capability is exceeded for some period of time, the formation of consistency groups may be suspended, an out of synch bitmap that is used to indicate which tracks have been modified since the last transfer to the secondary storage subsystem may have a very large number of bits set, and a Recovery Point Objective (RPO) may grow. An RPO may be described as a value indicating how far behind in time the data at the secondary storage subsystem may be from the primary storage subsystem (e.g., if the RPO is 30 seconds, the secondary storage subsystem is expected to include data that is not more than 30 seconds older than data at the primary storage subsystem).
Cache residency time may be described as an average amount of time in which data remains in cache before being flushed out of cache. If the RPO exceeds the cache residency time, then data that needs to be sent to the secondary storage subsystem may be eliminated from cache at the primary storage subsystem before that data is transferred. If this happens, when the data is eventually sent to the secondary storage subsystem from the primary storage subsystem, full tracks are staged from primary storage (i.e., copied from disk to cache) and transmitted across the network.
For an application doing sequential writes, typically entire tracks are transferred, so having to stage tracks for transfer does not reduce efficiency. For such cases, staging and transferring tracks adds to disk utilization (i.e., the disks are accessed more), but not to network utilization (i.e., because full tracks are typically sent for such cases).
If the application is doing an appreciable quantity of small random writes to data (e.g., 4 Kilobytes (KB) of data), eliminating these data changes from cache causes full tracks (e.g., 54 KB for count key data, which is formatted for certain mainframe computers, or 32 KB or 64 KB for fixed block data, which is formatted for certain other computers) to be transmitted across the network instead of the updated data (e.g., 4 KB of data). This reduces the efficiency of network usage and elongates the time that it takes to recover from a write burst. A write burst refers to writing of a sequence of data counted as one unit in accordance with some specific criterion or measure. A write operation may update data, write new data, or write the same data again.
Thus, there is a need in the art for a priority scheme for transmitting blocks of data.